﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using ECOSYSTEM_Dominio;

namespace ECOSYSTEM_DAL
{
    public class UsuarioDAL
    {
        SqlConnection cnn;
        public Boolean guardarUsuario(Usuario elUsuario) {
            try
            {
                cnn = (SqlConnection)ConexionSQL.getInstancia().getConexion();
                cnn.Open();
                SqlCommand cmd = new SqlCommand("RegistrarUsuario", cnn);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add("@UsuarioID", SqlDbType.Int,6);
                cmd.Parameters["@UsuarioID"].Direction = ParameterDirection.InputOutput;
                cmd.Parameters.Add("@NameUsu", SqlDbType.NVarChar,50);
                cmd.Parameters.Add("@Password", SqlDbType.NVarChar,100);
                cmd.Parameters.Add("@Estado", SqlDbType.Int,2);
                cmd.Parameters.Add("@CardoID", SqlDbType.Int,6);
                cmd.Parameters.Add("@EmpleadoID", SqlDbType.NVarChar,8);
                cmd.Parameters["@UsuarioID"].Value = elUsuario.IDUsuario;
                cmd.Parameters["@NameUsu"].Value = elUsuario.NameUsu;
                cmd.Parameters["@Password"].Value = elUsuario.Contraseña;
                cmd.Parameters["@Estado"].Value = elUsuario.Estado;
                cmd.Parameters["@CargoID"].Value = elUsuario.ElCargo;
                cmd.Parameters["@EmpleadoID"].Value = elUsuario.ElEmpleado;
                cmd.ExecuteNonQuery();
                elUsuario.IDUsuario =(Int32)(cmd.Parameters["@UsuarioID"].Value);
            }
            catch (SqlException ex) { throw new Exception(ex.Message); }
            catch (Exception e) { throw new Exception(e.Message); }
            finally {
                if (cnn.State == ConnectionState.Open) {
                    cnn.Close();
                }
            }
            return true;
        }
    }
}
